and 2) adds a workaround for an Infineon TPM hardware bug.
Signed-off-by: Vinnie Scarlata, Joseph Cihula (@intel.com)
TPM_AUTHDATA sharedsecret;
TPMTRYRETURN( VTSP_OSAP(vtpm_globals->manager_tcs_handle,
- TPM_ET_SRK,
- 0,
+ TPM_ET_KEYHANDLE,
+ TPM_SRK_KEYHANDLE,
(const TPM_AUTHDATA*)&vtpm_globals->srk_usage_auth,
&sharedsecret,
&osap) );
-
+
+ osap.fContinueAuthSession = FALSE;
+
+
TPMTRYRETURN( VTSP_CreateWrapKey( vtpm_globals->manager_tcs_handle,
TPM_KEY_BIND,
(const TPM_AUTHDATA*)&vtpm_globals->storage_key_usage_auth,
Crypto_GetRandom((BYTE *) &nonceOddOSAP, sizeof(TPM_NONCE) ); \r
\r
TPMTRYRETURN( TCSP_OSAP( hContext,\r
- TPM_ET_SRK,\r
- 0, \r
+ entityType,\r
+ entityValue, \r
nonceOddOSAP,\r
&auth->AuthHandle, \r
&auth->NonceEven, \r
#include <stddef.h> // for pointer NULL
#include "tcg.h"
-// structure to enable use of FMT_SIZE32_DATA in BSG_Unpack
-typedef struct pack_buf_t {
- UINT32 size;
- BYTE * data;
-} pack_buf_t;
-
-// and a const version for Pack
-typedef struct pack_constbuf_t {
- UINT32 size;
- const BYTE* data;
-} pack_constbuf_t;
-
typedef UINT32 tpm_size_t;
// first version, probably will be expanded...
TPM_AUTHDATA HMAC;
} TCS_AUTH;
+// structures for dealing with sizes followed by buffers in all the
+// TCG structure.
+typedef struct pack_buf_t {
+ UINT32 size;
+ BYTE * data;
+} pack_buf_t;
+
+typedef struct pack_constbuf_t {
+ UINT32 size;
+ const BYTE* data;
+} pack_constbuf_t;
+
+
+
// **************************** CONSTANTS *********************************
// BOOL values